package cn.tedu.common;


import lombok.AccessLevel;
import lombok.Data;
import lombok.experimental.FieldDefaults;

/**
 * 统一返回结果类
 * @param <T>
 */
@Data
@FieldDefaults(level = AccessLevel.PRIVATE)
public class JsonResult<T> {
    /**
     * 状态码
     */
    Integer code;

    /**
     * 提示信息
     */
    String message;

    /**
     * 返回数据 接口出参的具体的数据
     * type 的首字母t T 表示泛型 任意类型
     */
    T data;

    /**
     * 封装 成功的结果 到 JsonResult
     * @param data
     * @param message
     * @param <T>
     * @return
     */
    public static <T>  JsonResult<T> ok(T data,String message){
        JsonResult<T> result = new JsonResult<>();
        result.setData(data);
        result.setCode(2000);
        result.setMessage(message);
        return result;
    }


}
